package com.softtown.modules.dapai.service.impl;


import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.softtown.common.service.impl.BaseServiceImpl;
import com.softtown.common.utils.ConvertUtils;
import com.softtown.modules.dapai.dao.CompVisitRecordDao;
import com.softtown.modules.dapai.dto.CompVisitRecordDTO;
import com.softtown.modules.dapai.entity.CompVisitRecordEntity;
import com.softtown.modules.dapai.service.CompVisitRecordService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
* @Author: Ding Ya Yong
* @Description: 拜访记录
* @date: 2022/1/2 11:38
* @Param:
* @return:
*/

@Service
public class CompVisitRecordServiceImpl extends
        BaseServiceImpl<CompVisitRecordDao, CompVisitRecordEntity> implements CompVisitRecordService {



    @Override
    public PageInfo<CompVisitRecordDTO> getVisitRecordPageList(CompVisitRecordDTO compVisitRecordDTO) {
        Integer pageSize = compVisitRecordDTO.getPageSize();
        Integer page = compVisitRecordDTO.getPage();
        if (pageSize > 0 && page > 0) {
            PageHelper.startPage(page, pageSize);
        }
        List<CompVisitRecordDTO> compVisitRecordDTOList =
                baseDao.getVisitRecordPageList(compVisitRecordDTO.getCompId(), compVisitRecordDTO.getParam());
        return  new PageInfo<>(compVisitRecordDTOList);
    }

    @Override
    public CompVisitRecordEntity getVisitRecordById(Long compId, Long id) {
        return baseDao.getVisitRecordById(compId, id);
    }

    @Override
    @Transactional
    public void addVisitRecord(CompVisitRecordDTO compVisitRecordDTO) {
        CompVisitRecordEntity compVisitRecordEntity =ConvertUtils
                .sourceToTarget(compVisitRecordDTO, CompVisitRecordEntity.class);
        insert(compVisitRecordEntity);
    }

    @Override
    @Transactional
    public void updateVisitRecord(CompVisitRecordDTO compVisitRecordDTO) {
        CompVisitRecordEntity compVisitRecordEntity =ConvertUtils
                .sourceToTarget(compVisitRecordDTO, CompVisitRecordEntity.class);
        updateById(compVisitRecordEntity);
    }

    @Override
    public void deleteVisitRecord(CompVisitRecordDTO compVisitRecordDTO) {
        baseDao.deleteVisitRecord(compVisitRecordDTO.getCompId(), compVisitRecordDTO.getId());
    }

    @Override
    public List<CompVisitRecordDTO> listForVisitRecord(CompVisitRecordDTO compVisitRecordDTO) {
        List<CompVisitRecordDTO> compVisitRecordDTOList =
                baseDao.listForVisitRecord(compVisitRecordDTO.getCompId(), compVisitRecordDTO.getParam());
        return  compVisitRecordDTOList;
    }







}
